<html>
<body>
报告用作 <b>SLF4J</b> 和 <b>Log4j 2</b> 日志记录方法的实参的字符串模板。
方法 <code>org.apache.logging.log4j.Logger.log()</code> 及其重载仅支持<b>所有日志级别</b>选项。
即使在没有记录日志消息的情况下，也会在运行时评估字符串模板；这可能会对性能产生负面影响。
建议改用形参化日志消息，禁用日志记录时不会对其进行评估。
<p><b>示例（针对 Kotlin）：</b></p>
<pre><code lang="kotlin">
      val variable1 = getVariable()
      logger.info("variable1: $variable1")
</code></pre>
<p><b>在应用快速修复之后（针对 Kotlin）：</b></p>
<pre><code lang="kotlin">
      val variable1 = getVariable()
      logger.info("variable1: {}", variable1)
</code></pre>
<p>
  请注意，建议的替换可能不等同于原始代码，例如，当字符串模板包含方法调用或赋值表达式时。
</p>
<!-- tooltip end -->
<ul>
  <li>
    使用<b>警告对象</b>列表可以忽略某些更高的日志记录级别。 可以始终启用更高的日志记录级别，并且将始终对实参求值。
  </li>
  <li>
    使用<b>当仅包含具有基元类型的表达式、其包装器或字符串时不发出警告</b>选项可以忽略仅包含具有基元类型、其包装器或字符串的表达式的字符串模板。
    例如，它可能有助于防止加载延迟集合。
    请注意，在运行时即使只使用具有基元类型、其包装器或字符串的表达式创建字符串，也会对性能产生负面影响。
  </li>
  <li>
    使用<b>当调用仅在消息实参之后以异常作为实参时不发出警告</b>选项可以忽略仅在消息实参之后包含异常作为实参的调用。
    例如，在使用自定义代码样式调整检查的行为时可能很有用。
  </li>
</ul>

<p><small>2023.1 最新变化</small></p>
</body>
</html>